1. The Field of the Invention
The present invention pertains to the field of computer software. More particularly, the present invention relates to modifying audio files that are received and transmitted over a computer network.
2. Background and Related Art
The number of homes and businesses using personal computers has increased substantially in recent years, and along with this increase has come an explosion in the use of the Internet and, in particular, the World-Wide Web (xe2x80x9cthe Webxe2x80x9d). The Web is a collection of formatted hypertext pages and other data located on numerous computers around the world that are logically connected by the Internet. Although the Web has in the past been a source of primarily scientific and technical information, it is now a valuable resource for information relating to almost any subject, including business, entertainment, travel, and education, to name just a few. Advances in network technology, and especially in software such as xe2x80x9cWeb browsersxe2x80x9d (software applications which provide a user interface to the Web), have made the Web accessible to a large segment of the population.
There are problems associated with certain current Web-related technology, however, which can make browsing the Web unpleasant. One such problem is latency. People commonly experience long, frustrating delays when browsing the Web, such as when one""s computer is establishing contact with a Web server or downloading a requested file. There are many possible causes of latency, including heavy communications traffic on the Internet, slow response time of Web servers, and the large size of some files that are downloaded. Latency tends to be particularly apparent when downloading audio files, for example, which tend to be large in comparison to other file types. It is desirable, therefore, to provide a technique for reducing certain latencies on the Web, such as those associated with audio files.
The use of audio on the Web is becoming increasingly more popular. Numerous audio formats are currently in use on the Web, including .AU, .AIFF, .WAV, MPEG, MIDI, Mod, etc. Even live audio can be downloaded from certain Web sites, as provided for by the RealAudio file format. Unfortunately, many people browse the Web using equipment that lacks the capability to process many of these file types, due to limitations in hardware, software, or both. Hence, it is desirable to provide a technique by which a computer or other processing system can access and play audio in a variety of different formats without requiring special hardware or software.
In addition, it is desirable for a computer or other processing system to be able to play an audio file without having to wait for the entire file to be downloaded from a remote server. One factor which makes this capability difficult to provide is that many audio data formats use a data rate that is significantly higher than that of the communication link between the server supplying the audio file and the requesting computer. As a result, in many systems, the requesting (client) computer would tend to run out of audio data if it attempted to play the data before the file was completely downloaded. Although portions of the file might be downloaded into memory and played before the file has finished downloading, memory limitations in the requesting computer may render this approach impractical. Therefore, it is desirable to provide a technique to enable a requesting computer or other processing system to play audio data as it is being received from a remote Web server while reducing the amount of audio data that must first be downloaded into memory.
The present invention includes a method in a proxy computer system connected to a client computer system of providing audio data to the client computer system such that latency is reduced. In the method, the proxy computer system obtains the audio data from a remote server on behalf of the client computer system and determines whether transcoding the obtained audio data is appropriate. If transcoding is appropriate, the audio data is transcoded using one or more transcoding methods thereby generating transcoded audio data. These transcoding methods may include, for example, 1)reducing the number of channels, 2) reducing the sample rate, and 3) compression. The transcoded audio data is then transmitted to the client computer system.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.